package com.gtw.memento;

/**
 * 使用场景:
 *      需要保存和恢复数据的场景
 *      提供回滚操作,如:ctrl+z
 *      实现多份备忘录,只需要在备忘录管理员里改为容纳多个备忘录的Map即可
 * 注意事项:
 *      生命周期:备忘录创建处理就要在最近的代码中使用,要主动管理其生命周期,建立就要使用,不用就立刻删除其引用
 *      性能:不要在频繁建立备份的场景中使用备忘录,1是控制不了备忘录建立对象的数量,2是大对象的建立要消耗资源,性能方面需要考虑
 *      通过clone方式,自我实现备忘录功能的,使用在比较简单的场景中,尽量不要与其他对象产生严重的耦合
 */

/**
 * 备忘录,负责存储发起人对象的内部状态,在需要的时候提供发起人需要的内部状态
 */
public class Mementor {

    /**
     * 发起人的状态信息
     */
    private String state;

    public Mementor(String state) {
        this.state = state;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }
}
